Q:  I have designed a custom palette in InterfaceBuilder which contains a subclass of View called MyView.  When I create a new application, load the palette and test it in Test Interface mode, everything looks fine.  When run make on the application there are no errors.  However, when I launch the application from the Workspace Manager it dies because the MyView object is not in the run module.  What am I doing wrong? 
	
A:  When you create a loadable palette in InterfaceBuilder with a special class like MyView, you need to also distribute the code (in some form) for that class.  This then needs to be linked into the application.  There are two ways to do this:

1)	Distribute the .m and .h for the class.
	In NEXTSTEP Release 2, you would then add these to the "[.hm] (class)" category of the project.
	
	In NEXTSTEP Release 3, you opens his project folder PB.project via ProjectBuilder, and adds the [.m] file by selecting Classes in the browser and choosing Add from the Files Menu. The corresponding header file is then added automatically, and can be viewed under the Headers folder in the browser. 
    
2)	Distribute the .o and .h for the class.
	In NEXTSTEP Release 2, you would then add the .h to the ".h (other)" category of the project.  You would also add the .o to the "Other files" category of the project.
	
	In NEXTSTEP Release 3, you would add the .h by selecting Headers  in the Project Builder browser and choosing Add from the Files Menu. An pane opens, and the you select the header file to be added.

In both NEXTSTEP versions, you also need to create a Makefile.preamble which contains the following line:
    
	OTHER_OFILES = MyView.o

See /NextLibrary/Documentation/NextDev/DevTools/01_PuttingTogether.rtf for more information.

See also:  The InterfaceBuilder 2.0 Release Notes for more information on building and using custom palettes for NEXTSTEP Release 2, and the InterfaceBuilder 3.0 Release Notes for NEXTSTEP Release 3.
	     
See also the examples in /NextDeveloper/Examples/InterfaceBuilder.  Note that BlinkPalette and SketchPalette only exist in NEXTSTEP Release 2.

QA606	

Valid for 2.0, 3.0, 3.1